                         WinAGI Game Development System
                                  ©2005 - 2020
                                by Andrew Korson
                                   
                         ==============================                                   
                                Version 2.1.4
                         ==============================

About WinAGI:
=============
WinAGI is a full featured game development system, that includes editors which provide full control over of all resources in an AGI game. It includes several integrated tools to assist in game design and development, allowing you to create new AGI games more efficiently and with less effort

WinAGI was developed in Visual Basic 6 Professional.


Known Issues:
=============
 - The Undo/Redo commands in the logic editor sometimes moves the cursor to an unexpected location. This is due to a problem with command grouping for the underlying rich text editor.
 
 - Some Windows shortcut keys (such as Alt plus minus[ALT+'-'] key) don't work in the logic editor. This is a known problem caused by the rich text editor.

 - WinAGI maintains a handle on the game directory while a game is open. You can't delete the directory unless you close the game in WinAGI first.

 - In Windows 10, the configuration file (winagi.config) gets stored in the 'Users\{user}\AppData\Local\VirtualStore\Program Files' subdirectory, instead of in the actual program directory. This appears to be a 'feature' of Windows 10 that overrides attempts to write to the program directory.

 - if game files are on a network/cloud drive, there may be instances where source file content gets deleted; it is best to work with game files that are on a local, physical drive.
 
 
History:
========
Version 1.2.6
- fixed a a couple of minor bugs in the template games
- added short cut key SHIFT+CTRL+S to logic editor to save all currently open logic editors
- added short cut key CTRL+F to the preview window/resource treelist to start a search in logics for the selected resource ID
- improved functionality of the find dialog, and several bug fixes in the find function
- tweaked the way that drawing commands are added in the picture editor to be more intuitive
- when compiling a game, if global editor or layout editor is open, user is prompted to save them
- changed compiler to compile 'vA += 1' as addn(vA, 1), instead of 'increment(vA)' [same for subn/decrement]
- improved error handling in yhe game load function
- fixed scrollbars in all editors to shift the correct amounts on large and small scroll events
- corrected a bug in picture editor where fill and plot actions were not displaying in real time
- a few more minor bug fixes through out the app

Version 1.2.5
- added keyboard shortcuts to navigate loops and cels in the View editor
- fixed installer so it includes the correct grid control
- additional bug fixes
- added control code support for logics; the control code '\x##' will add a single character with byte value 0x##. this is useful for inserting extended characters and low value codes (1-31)
- palette information is now correctly saved in game property files
- improved management of game property files when different versions are encountered
- more clarifications and corrections in help file on AGI commands

Version 1.2.4
- non-public testing release

Version 1.2.3 Final Release
- more bug fixes to further stabilize the program
- a progress bar now provides visual indication of the game loading process
- changing resource IDs or global define names will now automatically update all logics where the names are referenced
- improved the integration with platforms for running games from within WinAGI for testing
- added a right-click context menu to the logic preview window to show the Copy command
- added a character map tool to the logic editor to more easily insert extended characters into logics
- removed support for block comments in logics
- improved and modified compiler syntax to align with information learned from historical Sierra information
- default text when adding new logics to game is now editable as a file in the WinAGI program directory
- the priority guidelines in the picture editor can be adjusted (mirroring set.pri.base functionality)
- added a preview pane to the view editor so you can get immediate feedback on changes to cels and loops


Version 1.2.3 BETA
- a ton of bug fixes and minor enhancements throughout the entire program
- converted program options file and game property files to a text based format that is human readable
- added support for extended characters (code page 437) for logics
- cleaned up a lot of bugs in sound editor
- added an 'insert coordinate' command for picture editor draw functions
- picture editor background image information is now saved as a property that gets restored next time the picture is opened
- double-clicking a single draw command will now select it for movement, similar to selecting multiple commands
- picture draw command coordinates can now be edited manually (text box to enter x/y values) to fine tune them
-complete rewrite of the rich text editor; no longer limits file size (but it still has a few wonky behaviors that I can't seem to correct)
- hovering over a define name will show the define value as a tooltip
- background color, and individual bold status are are now changeable syntax highlighting properties
- added many more warning and error checks (and improved existing checks) when compiling logics
- updated names of several reserved flags and variables after learning their real purpose
- reserved names are now editable (as a menu option in the Global Defines editor)
- compiler warnings can be individually dismissed from the warnings window, or set to ignored (they won't show up in subsequent compile actions)
- warnings window is now a panel displayed at bottom of form, instead of a separate window
- WinAGI will now support negative numbers (converting them to appropriate 2s complement value) to work with the reposition command
- Help file scrubbed thoroughly to include as much information on AGI (based on decompiling MSDOS versions)

Version 1.2.2 BETA
More fixes; nothing major...

Version 1.2.1 BETA
After a long hiatus, this is a new release that represents a lot of significant changes in underlying code. A lot of code cleanup, performance enhancements, bug fixes and added features. It is possible that some new bugs were introduced. As soon as sufficient feedback is received, a stable final version will be released.

Summary of changes include:
- converted Interpreter Version property to string type, so no more errors when trying to open templates when using non-US country settings
- compiler warnings are displayed in separate window, instead of as a text file
- fixed minor bug in decompiler
- updated information for command 182 ('adj.ego.move.to.x.y') based on better information on Amiga
- modified OBJECT editor to recognize and support Amiga versions (which use four bytes per item in the offset table, instead of three)
- non-unique objects and 'invalid objects' ("?") will generate warnings when decompiled
- fixed bug in Picture Editor Test mode where views were skipping last cel in a loop
- fixed menu editor to extract actual message strings if arguments are local/global defines or variable tag(e.g. m1, m2)
- double-clicking menu editor lets you change background picture
- fixed property window display in menu editor
- fixed property window display in sound editor 
- changed handling of fonts during initial setup/settings retrieval to eliminate itsy-bitsy fonts in word, object and global editors. Better validation of default settings
- fixed bug picture editor test mode, where cycle in place caused control line status to disappear
- fixed bug that let edit plot command be called on non-plot commands
- added ability to show pics on layout editor as inset to room boxes
- added feature to allow use of custom palettes for pictures and views
- Major overhaul of layout editor, fixed all known bugs, editor is now much more resilient to changes made by user both inside and outside of the editor to rooms and exits
- removed VB syntax feature
- Graphics features make more use of APIs to manage transparencies, masking. Should improve overall performance as API calls much faster than native VB graphics methods
- added ability to resize/reposition background image on picture editor
- background feature now includes transparency option for drawn image (to see background through the drawn picture) 
- Test Mode in picture editor does not force background to hide and switch to full draw state; user can do tests on partially drawn pictures, and background image can be visible during testing
- added mousewheel support to picedit to zoom in/out
- added export feature to pictures (export as bmp, gif, png, tif, jpg)
- increased max zoom feature in pic editor
- new option for cursor highlighting in picture editor; smallsquare for current coordinate; all others marked with x OR original WinAGI, with flashing cursor around selected coordinates; all others not marked
- improvements to arg tips feature
- added new gif export feature for view loops
- improved preview-view alignment displays
- when using reserved names, show them in globals list as uneditable globals on separate tab (can be copied, search-in-logic enabled)

Version 1.1.22
 - ADDED LIST POPUP IN LOGIC EDITOR TO ALLOW EASY INSERTION OF RESERVED DEFINES, GLOBAL DEFINES AND LOCAL DEFINES
 - fixed bug in compiler; some special characters that have char codes >255 weren't being converted properly
 - updated Help file to fix errors and add extra information on commands
 - added a lot of new compiler checks that generate additional warnings to improve logic coding
 - fixed a minor bug in sound editor when opening a sound while MIDI playback is disabled
 - added wheel support to object & globals grids (for real this time)
 
Version 1.1.21
 - fixed a critical bug in the compiler so '\n' format code correctly compiles as a new line character.
 - previous versions of WinAGI did not allow picture resources to have zero as the resource number; this caused errors if a game was loaded that had a picture.000 resource already in it. The restriction on picture numbers has been removed. 
 - a few places where captions and labels did not display correctly (due to different Window font settings) were adjusted
 - some errors in the template games have been corrected; all templates have been recompiled
 - saving changes to the global defines file causes all logics are marked as dirty
 - importing logics now correctly sets syntax by analyzing the importing text
 - using or not using predefined variable and flag names is now a property that can be set on a per-game basis, instead of being a global setting

Version 1.1.20
 - fixed some minor problems with the VB syntax compiler
 - saving a WORDS.TOK file works correctly if no game is open
 - changed shortcut keys to avoid conflict with built-in Windows short cuts. New resources, opening resources, and importing resources now use  CTRL+1-6, ALT+1-6, and CTRL+ALT+1-6 respectfully.
 - fixed a minor problem with the reset warnings feature. Choosing the reset warnings checkbox on the Options form should now properly reset all game warnings.
 - when closing a logic source editor, WinAGI will no longer ask you if you want to compile the source if you've already chose not to save it.
 - fixed a minor problem with the logic syntax converter
 - if a compiler warning window is open, closing a game will also close the warning window.
 - fixed minor bug in compiler warning when inventory objects are passed by number
 - fixed bug that disabled pen change toolbar buttons on picture editor when creating a new blank picture
 - fixed bug that could cause program to crash if main window is resized too small
 - changed picture pen plot algorithm to exactly match original AGI
 - changed picture line drawing algorithm to exactly match original AGI
 - fixed a minor bug in view editor that caused views to not save properly in rare occasions
 
Version 1.1.19
 - added support for changing the colour palette
 - installer should properly identify previous versions and automatically uninstall them
 
Version 1.1.18
 - moved volume, location and size properties from status bar to property window
 - run command checks logic compile status; asks if dirty logics should be compiled before running
 - message Cleanup Command fixed to properly handle comments in the message section
 - updated template games to avoid errors noted in AGI Wiki
 - fixed  minor error in shortcut key handler for globals editor
 - editing view description on the tree property pane now correctly synchronizes with view editors
 - import and export file dialogs remember previous filter settings
 - import function now allows you to overwrite an existing resource, instead of always creating a new resource

 
Version 1.1.17
 - added wheel support to object & globals grids
 - fixed a spelling error in agi reserved flag name (recieved vs received)
 - editing global define entries without making a change no longer sets file dirty state
 - Game Run should now work for games on a different drive than the program
 - shortcut key 'a' in view preview now lets you go back to cel 0
 - added default sound instrument settings
 - fixed problem with several settings that were being reset when the settings window was opened
 - Ctrl+TAB and Shift+Ctrl+Tab now work correctly in logic and text editors
 - added ability to jump to compiler warnings by just dbl clicking the line in the warning editor window
 - added option to include resource number in resource tree list when displaying IDs
 - added play/stop buttons to sound editor toolbar; also added mute button to each track
 - compile dirty logics command moved to game menu
 - compiler no longer asks you to remove resources that generate errors during compilation; the compilation is always halted when an error is detected
 

Version 1.1.16
 - decompiler properly handles inventory objects that include double quotes
 - opening existing games for the first time now properly locates source files
 - repaired several bugs in the global defines handler, so compiler now correctly identifies all global defines
 - shortcut keys in the logic editor and global defines editor now work properly
 - saving a logic source file no longer resets the caret position to the top of the file
 - compiler output text files do not display the save warning when closed
 - added an option to prevent bringing the preview window to the top of the zorder when selecting resources in the resource tree
 - resource size and location information in the status bar are displayed as base 10 numbers, not hexadecimal
 - the find dialog no longer shifts focus to the logic editors when search text is found
 - dirty logics are now displayed with red text in the tree list
 - a Compile Dirty Logics command is now available on the Resource menu when the Logics node is selected
 - fixed a typo in the sound editor undo menu item where adding notes resulted in an undo command titled "undo shift key"
 - previewing views now respond to shortcut keys to change loops and cels
 - added animation test controls to the preview window for views
 
Version 1.1.15
 - left indirection and right indirection commands now compile correctly
 - fixed glitch in global editor that caused grid to stop updating after sorting
 - zorder issue fixed so activating other app windows works normally
 
Version 1.1.14
 - Initial Release
